|
製品の保守
:マイクロソフトは
Internet Explorer 4.01 Service Pack 1 を
2001 年
1 月
1 日まで"対応"ソフトウェアとしてサポートする計画です。また、今後リリースされる新しいサービスパックも西暦
2000
年問題に対応しており、それには西暦
2000
年対応以外の内容も含まれる場合もあります。
このドキュメントでは、Internet Explorer Version 4.01
の西暦 2000
年問題対応状況について説明します。
Internet Explorer 4.0
には日付に関する問題がありますが、以下に示されたアップデートや、Internet Explorer
ダウンロードエリアから
Internet Explorer 4.01
をインストールして解決することができます。
現在インストールされている Internet Explorer
のバージョンを調べるには、Knowledge Base
の記事 Q164539「Internet Explorer
のバージョンを確認する方法」を参照してください。
最新情報
Internet Explorer では
Jscript
を実行する Web
サイトを表示するときに、2000
年の代わりに 1900
年が表示されることがあります。この問題を解決する
mshtml.dll
の最新バージョンを取得するには、ここ をクリックしてください。 詳細な情報は、Knowledge Base
の記事 Q250316
を参照してください。
1999
年 6
月に、Outlook Express 4.01
に関して問題が発見されました。 Outlook Express
は標準的な Internet Explorer Service Pack 1
と Service Pack 2
のセットアップでインストールされます。この問題に対するソフトウェア アップデートが提供されています。この問題に関する詳細を下記に説明します。
既知の西暦 2000
年問題の修正方法
以下に示した追加アップデートとともに
Internet Explorer 4.01Service Pack 1
をインストールしてください
(#2-5、および
Outlook Express
の問題)。
または
Internet Explorer 4.01 Service Pack 2* を Outlook Express
の問題とともにインストールしてください。
* SP2 には、SP1
以降のアップデートおよび次に示す問題 (#2
〜 5)
が含まれます。
この製品での問題
1. Internet Explorer 4.01 SP1
で修正される問題
Internet Explorer 4.01 SP1 をインストールすると、それ以前のバージョンで確認されていた、次に示す問題が修正されます。
サイトで西暦の 2
桁が "00"
である cookie
が使用されている場合、Internet Explorer
はその cookie
の期限が終了したと見なします。期限終了日が 4
桁の cookie
や 2000
年より前と後の cookie
には影響ありません。
Web サーバーから送信された HTTP/1.0
ヘッダーの日付が 2
桁の西暦 "00"
である場合は、Internet Explorer
はそのサイトのページの期限が終了したと見なし、ローカルにキャッシュしません。接続中はサイトをブラウズできますが、オフラインでのブラウズはできません。HTTP/1.1
ヘッダーで 4
桁の西暦が使用されている場合や、2
桁の西暦でも 2000
年より前か後の場合は、この問題の影響を受けません。
Microsoft Wallet ([表示]
メニューの [インターネット オプション]
の [コンテンツ]
タブを使って構成された Internet Explorer
のオプションのアドオン)
がインストールされている Internet Explorer
で期限終了日が 2000
年以降のクレジットカードを追加することはできません。また、システムの日付が 2000
年以降の場合、Microsoft Wallet
でクレジットカード情報の追加や編集はできません。
Internet Explorer
のその他の問題
記載されているとおり、各バージョンに個別のソフトウェア アップデートが利用できます。(または SP2
の一部として用意されています。)
2. MDAC データ強制ライブラリ (MSDADC.DLL) :以前のバージョンの msdadc.dll
には次の問題があります。
ADO
にコーディングされている場合、
ADO Recordset が adDate、adDBDate、adFileTime、または adDBTimeStamp
などの日付データ型が含まれており、
98/01/01
ではなく 98.01.01
のように日付書式の日付区切り文字としてスラッシュではなくピリオドが使われおり、
年が 60
未満に指定されると、
データ変換 msdadc.dll
によって日付が時刻に変換されます。たとえば、01.01.01 (2001
年 1
月 1
日)
は、01:01:01 (1899
年 12
月 30
日、午前 1
時 1
分 1
秒)
に変換されます。
OLE DB
に直接コーディングされている場合も、同じ結果になります。
変数 BSTR、VARIANT、または PROPVARIANT
を次の日付データ型に変換する場合、
DBTYPE_DATE
DBTYPE_DBDATE
DBTYPE_DBTIME
DBTYPE_FILETIME
DBTYPE_DBTIMESTAMP
98/01/01 ではなく 98.01.01
のように日付形式の区切り文字としてスラッシュではなくピリオドが使われており、
年が 60
未満に指定されると、
データ変換 msdadc.dll
によって日付が時刻に変換されます。たとえば、01.01.01 (2001
年 1
月 1
日)
は、01:01:01 (1899
年 12
月 30
日、午前 1
時 1
分 1
秒)
に変換されます。
マイクロソフトは、最新バージョンの MDAC (Version 2.1 Service Pack 1 (2.1.1.3711.11)
以上)
に移行することをお勧めします。MDAC 1.5
のアップデート バージョンは Internet Explorer 4.01 SP2
で入手するか、最新バージョンの MDAC
をダウンロードしてください。
MDAC の最新バージョンに関する情報とダウンロード方法については、 MS Data Access Components
の西暦 2000
年問題対応製品ガイドを参照してください。
3. Microsoft Wallet
Microsoft Wallet 2.1.1383
より以前のバージョンでクレジット カード情報を入力する場合、カードの有効期限が西暦
2000
年以降の場合は、年月日を入力しないと情報が正しく解釈されません。たとえば、クレジット カードの有効期限を「5/01」と入力すると、入力した年の
5 月
1 日として解釈されます。Microsoft Wallet 2.1.1383
以降ではこの問題は起こりません。Microsoft Wallet
製品は現在、Microsoft Passport
と呼ばれています。 この問題を解決するためには、http://www.passport.com/
から Microsoft Passport
をインストールし、無料パスポートを取得するための指示に従ってください。
4.
日時指定関数 (comctl32.dll)
コントロール パネルの [地域]
で下 2
桁の西暦が設定されていると、日時指定関数が正しい日付を返さない場合があります。日付が正しく処理されるようにするには、[地域のプロパティ]
ダイアログ ボックスの [日付]
タブで 4
桁の西暦を指定するか、カレンダーを使って日付を選択します。また、下記の「推奨事項」に記載されている
URL
から最新バージョンの comctl32.dll
をダウンロードする方法もあります。
最新バージョンの comctl32.dll
をインストールするか、comctl32.dll
を最新バージョンにアップデートするには、http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.aspからダウンロードしてください。
Windows NT Alpha の場合は、最新バージョンのcomctl32.dll
をhttp://www.microsoft.com/msdownload/ieplatform/ie/comctrlalpha.asp
からダウンロードしてください。
5. Microsoft Virtual Machine
Service Pack 1 で提供されるバージョンを含めて、Microsoft Virtual Machine
の多くのバージョンで西暦
2000
年問題が確認されています。 詳細情報や
2000
年問題への対応方法については、Microsoft Virtual Machine
の西暦2000年問題対応製品ガイドを参照してください。
Sun Microsystems の
Java
開発キット (バージョン
1.1.1
〜 1.1.5)
に基づいた Java
仮想マシンに関連する西暦
2000
年問題が報告されています。java.txt.SimpleDateFormat
クラス ライブラリを使用する
Java
アプリケーションでは、4
桁の西暦が正しく解釈されないことがあります。
その他の問題
Outlook Express
の問題 (ソフトウェアのアップデートは
Internet Explorer 4.01 Service Pack 1
または Service Pack 2
の一部ではありません)
Outlook Express (OE) 4.01 (SP1 または SP2)
は、IMAP
メール メッセージまたはニュース メッセージを、送信日に下
2 桁の西暦を使用して受信します。そのため特定の条件下で日付が間違って解釈されることがあります。 下
2 桁の西暦の数字が 「99」 以外であると、OE
は世紀の値を現在の世紀であると見なします。 たとえば、現在の西暦が
2000
年のときに 「97」 という 下2
桁の西暦のメッセージを受信した場合、その年は
2097
年と解釈されます。 ただし、これ以外のロジックが適用される特別なケースもあります。 「99」という
2 桁の西暦でメッセージを受信し、現在の年が
100
の倍数 (2000
年)
である場合は、その年は現在の年に
98
を加算した年 (2098
年)
と解釈されます。
詳細については、Knowledge Base
の記事Q234680 または Q234681
を参照してください。
この問題に対するソフトウェア アップデートが提供されています。ソフトウェア アップデートは
Outlook Express 4.01 SP1 用と
Outlook Express 4.01 SP2 用と別々に用意してあります。このソフトウェア アップデートは、ここからダウンロードできます。
日付の処理
日付は内部的に
Win32 FILETIME 構造体として保存されます。FILETIME 構造体は
64 ビット値で、1601 年
1 月
1 日以降の
100 ナノ秒単位の数を表します。
下
2 桁の西暦の処理:
Microsoft Internet Explorer 4.01 では、下
2 桁で入力された西暦が次のように解釈されます。
00/1/1
〜
79/12/31 は
2000 年
1 月
1 日〜
2079 年
12 月
31 日と解釈されます。
80/1/1/
〜
99/12/31 は
1980 年
1 月
1 日〜
1999 年
12 月
31 日と解釈されます。
日付に関する注意事項
Internet Explorer
の日付処理方法に関わらず、Web ページの
HTML コンテンツ、JSCRIPT、Java アプレット、サーバー スクリプト、またはコントロールで西暦
2000 年問題が起こる場合があります。
JSCRIPT
のメソッド
.getYear() は、1999 年までの対応期間内は下
2 桁の文字列の西暦を返し、2000 年以降の対応期間内は下
4 桁の西暦を返します。Web 作成者は、4 桁の西暦だけを返すメソッド
.getFullYear() を使用することもできます。
Internet Explorer
の履歴で日付を表示するときには、Windows または
Windows NT で西暦を
4 桁で表示するために、コントロール パネルの
[地域] で
4 桁の西暦を設定する必要があります。まだ有効でない証明を
Internet Explorer でテストすると、その証明の期限が切れたことを示す誤った内容のメッセージが表示されます。
テスト時のガイドラインと推奨事項
:
Web サイトや
Web ベースのアプリケーションの西暦
2000 年問題をテストする場合は、西暦
2000 年に達したときの
Internet Explorer と
Web サーバーの動作の推移に加えて、必要な場合はプロキシ サーバーの動作の推移をテストする必要があります。たとえば、Web サーバーやプロキシ サーバーには、HTTP/1.0 ヘッダーで下
2 桁の西暦を使用しているものがあります。マイクロソフトでは、一般的に使用されている
Web サーバーやプロキシ サーバーの動作確認を行っていますが、Internet Explorer の検証では、使用する環境において次の項目を確認する必要があります。
- 認証
。セキュリティが確立されたサイトや
SSL 接続を使用している場合、権限のあるユーザーが正しく認証されること、権限のないユーザーが拒否されること、正しい処理が行われることを確認します。メモ
: まだ有効でない証明を
Internet Explorer でテストすると、その証明の期限が切れたことを示す誤った内容のメッセージが表示されます。
- コードのダウンロード
。デジタル署名されたコードをダウンロードすると、期限付きの署名もダウンロードされます。必要な
ActiveX コントロールのダウンロード、インストールおよび操作、ならびに、ダウンロードしたコードの
Authenticode 署名が正しく処理されることを確認します。まだ有効でない証明を
Internet Explorer でテストすると、その証明の期限が切れたことを示す誤った内容のメッセージが表示されます。
- ファイルのダウンロード
。サイトで参照しているすべてのファイルが正しくダウンロードされることを確認します。
- 検索
。よく使用する検索プロバイダに対して検索バーが機能することを確認します。
- 履歴
。Internet Explorer で、当日、前日、過去の週にアクセスしたサイトが表示されることを確認します。
- 購読
。Internet Explorer 4.0x では、チャンネル コンテンツの更新予定や期限終了日を取得できます。購読サイトが正しく更新されることを確認します。
- 自動設定
。Internet Explorer 管理者キット
(IEAK) では、サーバー上の管理者が管理する新しい設定や制限をダウンロードできます。自動設定には、日付またはタイムアウト値に基づく設定の更新などのオプションがあります。
さらに、Web サーバーとプロキシ サーバーの西暦
2000 年問題対応状況と推奨事項について、各製造元に問い合わせてください。
西暦
2000 年問題には、コンテンツ固有のものもあります。インタラクティブなサイトがその
Web ページの
HTML コンテンツ、Cookie、JSCRIPT、Java アプレット、サーバー スクリプト、またはコントロールに関して
2000 年に対応していることを確認します。
|